package com.example.demo.mapper;

import com.example.demo.entity.RoutingField;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface RoutingFieldMapper {

    /**
     * 查询所有路由字段
     */
    List<RoutingField> selectAll();

    /**
     * 根据ID查询路由字段
     */
    RoutingField selectById(Integer id);

    /**
     * 插入路由字段
     */
    int insert(RoutingField routingField);

    /**
     * 更新路由字段
     */
    int updateById(RoutingField routingField);

    /**
     * 删除路由字段
     */
    int deleteById(Integer id);

    /**
     * 统计路由字段数量
     */
    long count();
    
    /**
     * 根据英文名称查询路由字段
     */
    RoutingField selectByEnglishName(String englishName);
    
    /**
     * 根据英文名称查询路由字段（排除指定ID）
     */
    RoutingField selectByEnglishNameExcludeId(@Param("englishName") String englishName, @Param("id") Integer id);
    
    /**
     * 按中文名称模糊查询路由字段
     */
    List<RoutingField> selectByChineseNameLike(@Param("chineseName") String chineseName);
}